<?
include_once("Taller.php");
include_once("Persona.php");
class Departamento extends Persona
{
	var $_idDepto;
	var $_idPersona;
	var $_usuario;
	var $_password;
	var $_fechaExpiracion;
	var $_tipoUsuario;
	
	function LoguearUsuario($usuario, $password, $tipoUsuario)
	{
		$db = new DB();
		$db->Conectar();
		$sql = "SELECT * FROM departamento WHERE usuario ='". $usuario ."' 
				AND password ='". $password ."'
				AND fechaexpiracion > '". date("Y-m-d")."' AND tipousuario IN ('". implode("','", $tipoUsuario) ."')
				"; 
		$db->Query($sql);
		if($db->NumLineas() == 1)
		{
			$db->Cerrar();
			$row = $db->GetArray(0);
			return $row["iddepto"];
		}
		else
		{
			$db->Cerrar();
			return 0;
		}
	}
	
	function RecuperarPassword($email, $usuario)
	{
		$db = new DB();
		$db->Conectar();
		$sql = "SELECT * FROM persona, departamento WHERE correoelectronico ='". $email ."' 
				AND persona.idpersona = departamento.idpersona
				AND departamento.usuario = '". $usuario ."'
				AND fechaexpiracion > '". date("Y-m-d")."'
				"; 
		$db->Query($sql);
		if($db->NumLineas() == 1)
		{
			$db->Cerrar();
			$row = $db->GetArray(0);
			return $row["password"];
		}
		else
		{
			$db->Cerrar();
			return "null";
		}
	}
	
	function ObtenerUsuarios()
	{
		return "SELECT * FROM departamento d, persona p WHERE
				d.idpersona = p.idpersona";
	}
	
	function EliminarUsuario($idUsuario, $idPersona)
	{
		$db = new DB();
		$db->Conectar();
		$sql = "DELETE FROM departamento WHERE iddepto=". $idUsuario; 
		$db->Query($sql);
		if($db->FilasAfectadas() == 1)
		{
			$sql = "DELETE FROM persona WHERE idpersona=". $idPersona; 
			$db->Query($sql);
			$resultado = 1;
		}
		else
			$resultado = 0;
		$db->Cerrar();
		
		return $resultado;
	}
	
	function GuardarUsuario($apellidoPaterno, $apellidoMaterno, 
							$nombre, $correoElectronico, $usuario, $password, $fechaE, $tipo)
	{
		$ultimoId = $this->AltaPersona($apellidoPaterno, $apellidoMaterno, $nombre, $correoElectronico);
		if($ultimoId != -99)
		{
			$db = new DB();
			$db->Conectar();
			$sql = 
					"INSERT INTO departamento(idpersona, usuario, password, fechaexpiracion, 
					tipousuario) VALUES(". $ultimoId .",'". trim($usuario) ."',
					'". trim($password) ."','". $fechaE ."','". $tipo ."')"; 
			$db->Query($sql);
			if($db->FilasAfectadas() == 1)
				$resultado = 1;
			else
				$resultado = 0;
		}
		else
			$resultado = 0;
		
		$db->Cerrar();
		
		return $resultado;
	}
	
	function ObtenerUsuario($idUsuario)
	{
		$db = new DB();
		$db->Conectar();
		$sql = "SELECT * FROM departamento d, persona p WHERE p.idpersona = d.idpersona
				AND d.iddepto=". $idUsuario;
		$db->Query($sql);
		$row = $db->GetArray(0);
		$this->_idPersona= $row["idpersona"];
		$this->_apellidoPaterno= $row["apellidopaterno"];
		$this->_apellidoMaterno= $row["apellidomaterno"]; 
		$this->_nombre= $row["nombre"];
		$this->_correoElectronico= $row["correoelectronico"];
		$this->_idDepto= $row["iddepto"];
		$this->_idPersona= $row["idpersona"];
		$this->_usuario= $row["usuario"];
		$this->_password= $row["password"];
		$this->_fechaExpiracion= $row["fechaexpiracion"];
		$this->_tipoUsuario= $row["tipousuario"];		
		$db->Cerrar();
	}
	
	function ModificarUsuario($aPaterno, $aMaterno, 
							$nombre, $correoElectronico, $usuario, $password, $fechaE, $tipo,
							$idUsuario, $idPersona)
	{
		$res = $this->ModificaPersona($idPersona, $correoElectronico, $aPaterno, $aMaterno, $nombre);

		if($res == 1)
		{
			$db = new DB();
			$db->Conectar();
			
			$sql = 
			"UPDATE departamento SET
				usuario = '". trim($usuario) ."', 
				password = '". trim($password) ."', 
				fechaexpiracion = '". $fechaE ."', 
				tipousuario = '". $tipo ."'
			WHERE
				iddepto = ". $idUsuario
			;
			$db->Query($sql);
			if($db->FilasAfectadas() == 1)
				$resultado = 1;
			else
				$resultado = 0;
		}
		else
			$resultado = 0;
			
		$db->Cerrar();
		
		return $resultado;
	}
}
?>